package client.controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JOptionPane;

import common.Command;

public class B_synchronizeController extends AbstractController implements ActionListener {

	public B_synchronizeController(MainController mc)
	{
		super(mc);
	}

	@Override
	public void actionPerformed(ActionEvent event) {
		
		// Le chemin de l'élément à synchroniser n'est pas vide
		if(!getMainWindow().get_TF_currentPath().getText().isEmpty()){
			
			File f = new File(getMainWindow().get_TF_currentPath().getText());
			
			// L'élément spécifié existe
			if(f.exists())
			{
				if(f.isDirectory())
					getMainController().getClient().getClientCommand().send_command_dir(Command.SYNCHRO_DIR + getMainWindow().get_TF_currentPath().getText() , f.getParent());
				else if(f.isFile())
					getMainController().getClient().getClientCommand().send_command_file(Command.SYNCHRO_FILE + getMainWindow().get_TF_currentPath().getText());
			}
			// L'élément spécifié n'existe pas
			else
			{
				JOptionPane.showMessageDialog(null, "Le dossier/fichier " + getMainWindow().get_TF_currentPath().getText() + " n'existe pas", "Erreur", JOptionPane.ERROR_MESSAGE);
			}
			getMainWindow().get_TF_currentPath().setText("");
		}
		
	}

	@Override
	public boolean isValid() {
		return true;
	}

}
